package com.yunkeji.dao.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunkeji.dao.domain.AppUserAlbum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 用户基本信息-扩展视图对象 ykj_app_user_ext
 *
 * @author 老张
 * @date 2024-06-05
 */
@Data
@ExcelIgnoreUnannotated
public class AppUserExtVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    @ExcelProperty(value = "自增主键")
    private String id;

    /** 年龄 */
    @ExcelProperty(value = "年龄")
    private Integer age;
    /** 用户昵称 */
    private String nickName;
    /** 身高，单位cm */
    @ExcelProperty(value = "身高，单位cm")
    private Integer height;

    /** 头像路径 */
    @ExcelProperty(value = "头像路径")
    private String headUrl;

    /** 出生日期 */
    @ExcelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    /** 学历 */
    @ExcelProperty(value = "学历")
    private Integer education;

    /** 职业 */
    @ExcelProperty(value = "职业")
    private Integer profession;

    /** 星座 */
    @ExcelProperty(value = "星座")
    private Integer constellation;

    /** 感情状态 */
    @ExcelProperty(value = "感情状态")
    private Integer sentiment;

    /** 接受约会 */
    @ExcelProperty(value = "接受约会")
    private Integer tryst;

    /** 接受同居 */
    @ExcelProperty(value = "接受同居")
    private Integer liveTogether;

    /** 心情 */
    @ExcelProperty(value = "心情")
    private Integer mood;

    /** 居住城市 */
    @ExcelProperty(value = "居住城市")
    private Long liveCity;

    /** 居住省份 */
    @ExcelProperty(value = "居住省份")
    private Long liveProvince;
    /** 居住城市 */
    @ExcelProperty(value = "居住城市")
    private String liveCityName;

    /** 居住省份 */
    @ExcelProperty(value = "居住省份")
    private String liveProvinceName;
    /** 爱好 */
    @ExcelProperty(value = "爱好")
    private List<Integer> hobby;

    /** 身份证图片 */
    @ExcelProperty(value = "身份证图片")
    private String cardAuthUrl;

    /** 真人认证视频 */
    @ExcelProperty(value = "真人认证视频")
    private String videoAuthUrl;

    /** 最近动态 */
    @ExcelProperty(value = "最近动态")
    private List<String> momentsPics;

    /** 语音介绍 */
    @ExcelProperty(value = "语音介绍")
    private String voiceIntro;

    /** 视频介绍 */
    @ExcelProperty(value = "视频介绍")
    private String videoIntro;

    /** 相册 空集合=在审核 空对象=未设置 */
    private List<AppUserAlbum> albumPics;
    /** 通话评分 */
    private BigDecimal callScore;
    /** 体重 */
    private Integer weight;
    /** 收入 */
    private Integer income;
    /** 体格体型 */
    private Integer physique;

    /** 接通成功次数 */
    private Integer callSuccess;
    /** 接通失败次数 */
    private Integer callFail;
    /** 通话总次数 */
    private BigDecimal callCount;
    /** 语音介绍-时长 */
    private Integer voiceIntroTime;
    /** 视频介绍 */
    private Integer videoIntroTime;
    /** 视频介绍-封面 */
    private String videoIntroCover;
    /** 视频介绍-封面-gif */
    private String videoIntroCoverGif;
    /** 通话总分钟数 */
    private Integer callDurationSum;
    /** 通话等级经验值,真人认证才会有 */
    private Integer levelExp;
}
